package main

import "fmt"

func main() {
	nums1 := []int{1, 2, 3}
	nums2 := []int{2, 5, 6}

	m := len(nums1)
	n := len(nums2)

	for _ = range nums2 {
		nums1 = append(nums1, 0)
	}

	merge(nums1, m, nums2, n)
	fmt.Println(nums1)
}

// 88. 合并两个有序数组
func merge(nums1 []int, m int, nums2 []int, n int) {
	m--
	n--

	for m >= 0 && n >= 0 {
		if nums1[m] > nums2[n] {
			nums1[m+n+1] = nums1[m]
			m--
		} else {
			nums1[m+n+1] = nums2[n]
			n--
		}
	}
	for m >= 0 {
		nums1[m+n+1] = nums1[m]
		m--
	}
	for n >= 0 {
		nums1[m+n+1] = nums2[n]
		n--
	}
}
